﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/ArchitectureV2" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/ArchitectureV2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/SocialLearning" />
  <xs:complexType name="User">
    <xs:sequence>
      <xs:element minOccurs="0" name="AccountUID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AdvancedAccountDetails" nillable="true" type="tns:User.AdvancedDetails" />
      <xs:element minOccurs="0" name="BasicAccountDetails" nillable="true" type="tns:User.BasicDetails" />
      <xs:element minOccurs="0" name="EducationBackground" nillable="true" type="tns:User.EducationalBackground" />
      <xs:element minOccurs="0" name="MarketingDetails" nillable="true" type="tns:User.Marketing" />
      <xs:element minOccurs="0" name="SecretQuestion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="User.AdvancedDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="City" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Code" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="DateOfBirth" nillable="true" type="xs:string" />
      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/SocialLearning" minOccurs="0" name="Disabilities" type="q1:UAC_Disabilities" />
      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/SocialLearning" minOccurs="0" name="EthnicGroup" type="q2:UAC_EthnicGroup" />
      <xs:element minOccurs="0" name="HomeAddress" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="HomeLanguage" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MedicalAid" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MedicalAidNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Nationality" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PostalAddress" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User.AdvancedDetails" nillable="true" type="tns:User.AdvancedDetails" />
  <xs:complexType name="User.BasicDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Firstname" nillable="true" type="xs:string" />
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/SocialLearning" minOccurs="0" name="Gender" type="q3:UAC_Gender" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Lastname" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User.BasicDetails" nillable="true" type="tns:User.BasicDetails" />
  <xs:complexType name="User.EducationalBackground">
    <xs:sequence>
      <xs:element minOccurs="0" name="Institution" nillable="true" type="tns:ArrayOfUser.EducationalBackground.InstitutionBackground" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User.EducationalBackground" nillable="true" type="tns:User.EducationalBackground" />
  <xs:complexType name="ArrayOfUser.EducationalBackground.InstitutionBackground">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User.EducationalBackground.InstitutionBackground" nillable="true" type="tns:User.EducationalBackground.InstitutionBackground" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser.EducationalBackground.InstitutionBackground" nillable="true" type="tns:ArrayOfUser.EducationalBackground.InstitutionBackground" />
  <xs:complexType name="User.EducationalBackground.InstitutionBackground">
    <xs:sequence>
      <xs:element minOccurs="0" name="EndDate" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="InstitutionName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="StartDate" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User.EducationalBackground.InstitutionBackground" nillable="true" type="tns:User.EducationalBackground.InstitutionBackground" />
  <xs:complexType name="User.Marketing">
    <xs:sequence>
      <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/SocialLearning" minOccurs="0" name="CurrentStatus" type="q4:UAC_OccupationStatus" />
      <xs:element minOccurs="0" name="HighschoolDetails" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MarketingComment" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MarketingDateOfSubmission" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MarketingMedium" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User.Marketing" nillable="true" type="tns:User.Marketing" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
  <xs:complexType name="Result">
    <xs:sequence>
      <xs:element minOccurs="0" name="Error" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ReturnValue" nillable="true" type="xs:anyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Result" nillable="true" type="tns:Result" />
  <xs:complexType name="ArrayOfResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Result" nillable="true" type="tns:Result" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfResult" nillable="true" type="tns:ArrayOfResult" />
</xs:schema>